package com.naiterui.ehp.bs.cms.modules.devops.vo;

import java.io.Serializable;
import java.util.Map;

import javax.validation.constraints.NotEmpty;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 定时任务
 *
 * @author Gaoll
 * @since HZD-1.0.0
 */
@Data
public class ScheduleJobVO implements Serializable {
    /**
     * 字段或域定义：<code>serialVersionUID</code>
     */
    private static final long serialVersionUID = -4264498460955757967L;

    /**
     * 任务名：<code>name</code>
     */
    @NotEmpty(message = "任务名称不能为null")
    @ApiModelProperty(value = "任务名")
    private String name;

    /**
     * 任务组：<code>group</code>
     */
    @NotEmpty(message = "任务组不能为null")
    @ApiModelProperty(value = "任务组")
    private String group;

    /**
     * cron表达式：<code>cronExpression</code>
     */
    @NotEmpty(message = "cron表达式不能为null")
    @ApiModelProperty(value = "cron表达式")
    private String cronExpression;

    /**
     * 状态：<code>status</code>
     */
    @ApiModelProperty(value = "状态，NORMAL.正常 PAUSED.暂停 COMPLETE.完成 ERROR.错误 NONE.无 BLOCKED.堵塞")
    private String status;

    /**
     * 描述：<code>description</code>
     */
    @ApiModelProperty(value = "描述")
    private String description;

    /**
     * 要执行的任务类路径名：<code>className</code>
     */
    private String className;

    /**
     * 请求地址
     */
    @NotEmpty(message = "请求地址不能为null")
    @ApiModelProperty(value = "请求地址")
    private String url;

    /**
     * 请求方法
     */
    private String method;

    /**
     * 请求参数
     */
    @ApiModelProperty(value = "请求参数")
    private Map<String, String> parameter;
}
